package com.pearadmin.modules.sys.service.impl;

import java.util.List;
import java.util.ArrayList;

import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.pearadmin.common.web.domain.request.PageDomain;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.pearadmin.modules.sys.mapper.RepInfoMapper;
import com.pearadmin.modules.sys.domain.RepInfo;
import com.pearadmin.modules.sys.service.IRepInfoService;

/**
 * 报表信息Service业务层处理
 *
 * @author Mr.Ling
 * @date 2022-01-04
 */
@Service
public class RepInfoServiceImpl implements IRepInfoService {
    @Autowired
    private RepInfoMapper repInfoMapper;

    /**
     * 查询报表信息
     *
     * @param id 报表信息ID
     * @return 报表信息
     */
    @Override
    public RepInfo selectRepInfoById(Long id) {
        return repInfoMapper.selectRepInfoById(id);
    }

    /**
     * 查询报表信息列表
     *
     * @param repInfo 报表信息
     * @return 报表信息
     */
    @Override
    public List<RepInfo> selectRepInfoList(RepInfo repInfo) {
        return repInfoMapper.selectRepInfoList(repInfo);
    }

    /**
     * 查询报表信息
     *
     * @param repInfo    报表信息
     * @param pageDomain
     * @return 报表信息 分页集合
     */
    @Override
    public PageInfo<RepInfo> selectRepInfoPage(RepInfo repInfo, PageDomain pageDomain) {
        PageHelper.startPage(pageDomain.getPage(), pageDomain.getLimit());
        List<RepInfo> data = repInfoMapper.selectRepInfoList(repInfo);
        return new PageInfo<>(data);
    }

    /**
     * 新增报表信息
     *
     * @param repInfo 报表信息
     * @return 结果
     */

    @Override
    public int insertRepInfo(RepInfo repInfo) {
        return repInfoMapper.insertRepInfo(repInfo);
    }

    /**
     * 修改报表信息
     *
     * @param repInfo 报表信息
     * @return 结果
     */
    @Override
    public int updateRepInfo(RepInfo repInfo) {
        return repInfoMapper.updateRepInfo(repInfo);
    }

    /**
     * 删除报表信息对象
     *
     * @param ids 需要删除的数据ID
     * @return 结果
     */
    @Override
    public int deleteRepInfoByIds(String[] ids) {
        return repInfoMapper.deleteRepInfoByIds(ids);
    }

    /**
     * 删除报表信息信息
     *
     * @param id 报表信息ID
     * @return 结果
     */
    @Override
    public int deleteRepInfoById(Long id) {
        return repInfoMapper.deleteRepInfoById(id);
    }
}
